1. Technical Field
The present invention relates to method and system for improving workflow performance in workflow application systems, and particularly to method and system for reducing interpretation overhead in such systems.
2. Background Art
A new area of technology with increasing importance is the domain of workflow-Management-Systems (WFMS). WFMS support the modeling and execution of business processes. Business processes control which piece of work of a network of pieces of work will be performed by whom and which resources are exploited for this work, i.e. a business process describes how an enterprise will achieve its business goals. The individual pieces of work might be distributed across a multitude of different computer systems connected by some type of communication network.
The process of designing, developing and manufacturing a new product and the process of changing or adapting an existing product presents many challenges to product managers and engineers to bring the product to market for the least cost and within schedule while maintaining or even increasing product quality. Many companies are realizing that the conventional product design process is not satisfactory to meet these needs. They require early involvement of manufacturing engineering, cost engineering, logistic planning, procurement, manufacturing, service and support with the design effort. Furthermore, they require planning and control of product data through design, release, and manufacturing.
The correct and efficient execution of business processes within a company, e. g. development or production processes, is of enormous importance for a company and has significant influence on company""s overall success in the market place. Therefore, those processes have to be regarded similar as technology processes and have to be tested, optimized and monitored. The management of such processes is usually performed and supported by a computer based process or workflow management system.
In D. J. Spoon: xe2x80x9cProject Management Environmentxe2x80x9d, IBM Technical Disclosure Bulletin, Vol. 32, No. 9A, February 1990, pages 250 to 254, a process management environment is described including an operating environment, data elements, and application functions and processes.
In R. T. Marshak: xe2x80x9cIBM""s FlowMark, Object-Oriented Workflow for Mission-Critical Applicationsxe2x80x9d, Workgroup Computing Report (USA), Vol. 17, No. 5, 1994, page 3 to 13, the object character of IBM FlowMark as a client/server product built on a true object model that is targeted for mission-critical production process application development and deployment is described.
In H. A. Inniss and J. H. Sheridan: xe2x80x9cWorkflow Management Based on an Object-Oriented Paradigmxe2x80x9d, IBM Technical Disclosure Bulletin, Vol. 37, No. 3, March 1994, page 185, other aspects of object-oriented modeling on customization and changes are described. In F. Leymann and D. Roller: xe2x80x9cBusiness Process Management with FlowMarkxe2x80x9d, Digest of papers, Cat. No. 94CH3414-0, Spring COMPCON 94, 1994, pages 230 to 234, the state-of-the-art computer process management tool IBM FlowMark is described. The meta model of IBM FlowMark is presented as well as the implementation of IBM FlowMark. The possibilities of IBM FlowMark for modeling of business processes as well as their execution are discussed. The product IBM FlowMark is available for different computer platforms and documentation for IBM FlowMark is available in every IBM branch.
In F. Leymann: xe2x80x9cA meta model to support the modeling and execution of processesxe2x80x9d, Proceedings of the 11th European Meeting on Cybernetics and System Research EMCR92, Vienna, Austria, Apr. 21 to 24, 1992, World Scientific 1992, pages 287 to 294, a meta model for controlling business processes is presented and discussed in detail.
The xe2x80x9cIBM FlowMark for OS/2xe2x80x9d, document number GH 19-8215-01, IBM Corporation, 1994, available in every IBM sales office, represents a typical modern, sophisticated, and powerful workflow management system. It supports the modeling of business processes as a network of activities; refer for instance to xe2x80x9cModeling Workflowxe2x80x9d, document number SH 19-8241, IBM Corporation, 1996. As further information on Workflow Management Systems available in IBM sales offices one could mention: IBM MQSeries Concepts and Architecture, document number GH 12-6285; IBM MQSeries Getting Started with Buildtime, document number SH 12-6286; IBM MQSeries Getting Started with Runtime, document number SH 12-6287. This network of activities, the process model, is constructed as a directed, acyclic, weighted, colored graph. The nodes of the graph represent the activities or work items which are performed. The edges of the graph, the control connectors, describe the potential sequence of execution of the activities. Definition of the process graph is via the IBM FlowMark Definition Language (FDL) or the built-in graphical editor. The runtime component of the workflow manager interprets the process graph and distributes the execution of activities to the right person at the right place, e. g. by assigning tasks to a work list according to the respective person, wherein said work list is stored as digital data within said workflow or process management computer system.
In F. Leymann and W. Altenhuber: xe2x80x9cManaging business processes as an information resourcexe2x80x9d, IBM Systems Journal, Vol. 32 (2), 1994, the mathematical theory underlying the IBM FlowMark product is described.
In D. Roller: xe2x80x9cVerifikation von Workflows in IBM FlowMarkxe2x80x9d, in J. Becker und G. Vossen (Hrsg.): xe2x80x9cGeschaeftsprozessmodellierung und Workflowsxe2x80x9d, International Thompson Publishing, 1995, the requirement and possibility of the verification of workflows is described. Furthermore the feature of graphical animation for verification of the process logic is presented as it is implemented within the IBM FlowMark product.
For implementing a computer based process management system, firstly the business processes have to be analyzed and, as the result of this analysis, a process model has to be constructed as a network of activities corresponding to the business process. In the IBM FlowMark product, the process models are not transformed into an executable form. At run time, an instance of the process is created from the process model, called a process instance. This process instance is then interpreted dynamically by the IBM FlowMark product, which is resident in each user""s computer participating in the workflow.
A concept often used in distributed application management is the so-called single server concept. Here, one server owns and controls the workflow of a particular business process. When many workstations are included in that process, the interpretative execution of the work flow models creates substantial interpretation and communication overhead that leads to a server overload and extensive response times for the application user.
The single server concept furthermore inhibits the possibility for workstations to temporarily work physically off-line from the central server and workflow model. This represents a show-stopper for those applications that require physically disconnected operation, both for non-stationary or mobile workstations, and in networks with unreliable communication links.
This type of application, however, corresponds more and more to a certain type of xe2x80x9cmodern times workingxe2x80x9d when a user uses its mobile computing device, e.g. a notebook for performing the part of the workflow he is associated with in the workflow.
But generally, a user always requires a quick response time in its workflow based application. Thus, in the typical case, when a complex communication takes place for graph interpretation between workstations and perhaps a plurality of servers and sub-servers too much time is spent for said communication during the execution time in relation to the amount of work which can complete during said communication.
Further, servers have been identified as performance bottlenecks when they interpret workflow graphs out of a workflow definition database, and currently the workstation capacity is often unexploited as generally in the last years the workstations computing power has increased more and more.
Thus, a requirement exists for reducing the work flow interpretation overhead and for balancing the workload between servers and workstations by improving the utilization and exploitation of workstation based resources in such systems.
It is thus a general object of the invention to provide a method and system for improving workflow in workflow management systems which improve the execution performance and response time for workflow based distributed applications.
It is a further object of the invention to provide such a method which enables a workstation for disconnected execution of portions of a workflow graph even when the server is down or the network connecting the workstation with the server is broken, or when the communication lines are not reliable.
It is a further object of the invention to provide such method which is able to be integrated with state-of-the-art workflow optimizing methods, such as e.g. compiling certain parts of a workflow.
The basic idea of the invention is to identify areas in a workflow graph that operate on one workstationxe2x80x94islandsxe2x80x94that can optionally execute also remote from a central workflow server. Such a remote workstation can even operate physically disconnected from a central server during the interpretation/ execution of the island.
According to the invention the single workflow model, as today residing in one server, is firstly analyzed and those parts that are defined for execution on one specific workstation are encapsulated. Those parts, called xe2x80x9cislandsxe2x80x9d can be interpreted or executed on the central workflow server, or can be downloaded from the server to a specific remote client workstation. Additionally, the islands in the workflow graph can optionally be transformed, either at the server or after downloading at the destination workstations, towards much more efficiently executable versions of the islands.
Even if an island is just interpreted or executed on the server in encapsulated form without being downloaded to a client, the island interpretation or execution is much more efficient due to its reduced size of the model, confined only to those parts that are relevant for the client, as compared to the interpretation of the original part of the workflow, representing an island before its encapsulation.
As an advantage, the reliability of operation in distributed application systems is improved, further, the communication between the central server and client workstations is reduced, and, all resources in a client/server configuration are utilized in a more balanced form.
Further, the method according to the invention allows for disconnected execution of an island on a workstation which is unreliably connected in the network by downloading the island, disconnecting the workstation from the network, performing the island activities on the workstation and then reconnecting the workstation with the network and handing over the performed work items to the server. Such an isolated form of island execution can be defined over workflow graphs that are enriched with geography attributes for activities.
Thus, performance in the execution of islands is improved, both on servers and in client workstations.
Further, the capability is achieved, to operate physically disconnected from a server while executing an island in a remote client workstation, and finally, the capability is achieved to control a disconnection or reconnection explicitly for establishing mobility for client workstations.
Islands are parts of the workflow which are best to be described with the help of a workflow graph. They are comprising connected sub-parts of a workflow graph according to the following rules:
An island is formed by an aggregation of activities associated with the same physical or logical location attributes.
All activities within an island are connected by control connectors.
Only one physical location can be associated with one logical location for the interpretation/ execution of the island.
Only such islands are executable for which one and only one end user or end user role has been assigned to the execution of all activities in the island.
Only such an aggregation forms an island that has one single entering control connector to the entry activity of the island, even if all other island conditions are met. An extension to multiple entry activities is feasible, but is not described in the current disclosure application, because it does principally not contribute to the basic idea of the present invention. Islands may have multiple incoming data connectors from predecessor activities in the workflow graph that all must originate from predecessor activities to the entry activity in the island, that means from activities that have terminated before the entry activity can be started.
Islands may have multiple outgoing data connectors.
An island must have one and may have many outgoing control connectors, each originating from an exit activity in the island.
Outgoing data connectors from an island may only lead to activities that are successor activities to all exit activities of an island, that means to activities that can only start when all exit activities of an island have terminated.
All data and control connectors within an island follow the normal rules for workflow graphs without islands.
Basically the detection and preparation of islands for disconnection can be performed according to the invention statically at workflow definition time by a workflow definition tool, or can be performed dynamically during workflow interpretation with a runtime module.
Generally, islands must be designed such that no control or data connectors can convey information into an island once its execution has started, and that no data or control connectors can convey information to the workflow graph outside the island before the execution of the island has been terminated.
Islands can also be optimized towards improved performance and response time characteristics for the end user of an island. Both inline interpretation/ execution on the server and interpretation/ execution of the downloaded encapsulated island on a remote client workstation are feasible.
The main benefit from the inventive concepts is the possibility to realize geographically distributed application systems in physical environments where distributed workstations can operate autonomously during the island interpretation/ execution, even if communication between remote workstations and a central server is unreliable or temporarily interrupted, in particular referring to workstations with geographic mobility, and in contexts of unreliable physical communication.